End users of Web task, legacy applications, Apple (Apple is a registered trade mark of Apple, Inc.) or Windows (Windows is a registered trade mark of Microsoft Corporation) based operating systems create few automated processes, that is a series of steps that a user desires to execute on a computer (often at pre-defined times or with a click of a button or a mouse). These software processes could be of any type and for any purpose, e.g., business, IT, or requirements to validate software behavior, etc. In some instances, the user desires to create a task, assign properties to the task and to run the task on a local or a remote computer. Desirable applications may be the creation of adapters that enable application automation by collecting automation information; the locating of application controls and tracking changes between an older and newer version of an application; and presenting the changes using an exception management model to a user, so that the user can provide feedback in a visual, instead of programmatic manner; storing and incorporating the changes so as to make the adapters resilient to application changes and upgrades.
There are several situations when a software update needs to be performed on a remote machine. And, in some instances the remote machines do not permit a bidirectional communication with the service provider. Automation software can access the remote machine using remote access technologies such as remote desktop, Citrix, and web browser etc. For example, Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection. The user employs RDP client software for this purpose, while the other computer must run RDP server software. In-house shared services, as well as third party business process outsourcing (BPO) entities (henceforth referred to as a “service provider”), may be located remotely in low-cost, high skill offshore locations and may need to access applications and data residing on their customer's computers.
However, customers need to protect proprietary trade secrets and intellectual property from unauthorized persons. Additionally there is a pressing need to protect the confidentiality of their customer data bases and such information as names, addresses, credit card numbers etc.
Hence there exists a need to impose strict access requirements to protect data privacy from among others, their service providers. Standards exist for information security management such as BS7799, ISO 17799 etc. that impose compliance requirements on service providers. However, current technology does not allow a customer to define compliance boundaries using a rules-based compliance firewall for their service providers. Further, current technology does not allow service providers to perform automation on customer machines remotely, while adhering to customer's compliance requirements. Thus, there is a need for an adjunct to remote access technologies that will allow a service provider to update a machine without having to establish a bidirectional communication link.